专利摘要:
本發明係提供一種位元率控制方法,用於一視訊會議系統中之一位元率控制裝置。該方法包括下列步驟:接收至少一事件參數及一目前位元率;判斷與至少一事件參數相關之事件旗標是否發生,當事件旗標發生,降低目前位元率;以及週期性地增加目前位元率。
公开号:TW201320661A
申请号:TW100140477
申请日:2011-11-07
公开日:2013-05-16
发明作者:Chun-Hsiung Fang;Rong-Quen Chen;Chih-Yin Lin;Chih-Wei Tuan
申请人:Quanta Comp Inc;
IPC主号:H04N19-00
专利说明:
位元率控制裝置及其方法
本發明係關於傳輸率控制,特別是用於視訊會議系統且使用友善式傳輸層協定壅塞控制(TCP-Friendly Rate Control)之位元率控制裝置及其位元率控制方法。
當使用視訊會議系統以進行視訊會議時,若使用固定的位元率進行視訊編碼,並透過網路傳送視訊流,當遇到網路狀況不佳的情況,此時視訊會議之通訊品質會明顯變差,例如視訊停頓、畫面馬賽克、網路封包遺失、視訊遲延、影音不同步、掉框(frame dropping)等。因此,亟需一種位元率控制裝置,可用於視訊會議系統,並可針對不同的網路狀況以調整視訊編碼的位元率,避免上述問題發生從而達到良好的視訊會議品質。
在一實施例中,本發明係提供一種位元率控制裝置,用於一視訊會議系統。該裝置包括:一位元率記錄器,用以更新一目前位元率;一位元率降低器,用以接收至少一事件參數及目前位元率,並判斷與至少一事件參數相關之一事件旗標是否發生,其中當事件旗標發生,該位元率降低器降低目前位元率;以及一位元率增加器,用以週期性地增加目前位元率。
在另一實施例中,本發明係提供一種位元率控制方法,用於一視訊會議系統中之一位元率控制裝置。位元率控制裝置具有一目前位元率、一限制位元率、一成功增加限制位元率次數以及一超過限制位元率次數。該方法包括下列步驟:接收至少一事件參數,並判斷與至少一事件參數相關之一事件旗標是否發生,其中當一事件旗標發生,降低目前位元率;以及週期性地增加目前位元率。
第1圖係顯示依據本發明一實施例之用於視訊編碼之位元率控制系統之方塊圖。位元率控制系統100係包括下列模組:位元率控制裝置110、一視訊編碼器120及一接收端130。位元率控制裝置110係用以產生一目前位元率(current bit rate)至視訊編碼器120。視訊編碼器120係接收此目前位元率,並依循此目前位元率以輸出一視訊流(例如是符合H.264標準之視訊位元率)。接收端130除接收對方之視訊訊號外,基於友善式傳輸層協定壅塞控制(TCP-Friendly Rate Control)之回報,取得並傳送複數個網路回饋參數至位元率控制裝置110,以便動態調整目前位元率(current bit rate)。網路回饋參數例如是封包掉落率(packet loss rate)、往返延遲時間(round-trip time)。
位元率控制裝置110係包括下列模組:一位元率降低器140、一位元率增加器150、一位元率記錄器160。位元率降低器140係接收並根據來自接收端130的網路回饋參數,判斷是否要調降目前位元率(current bit rate)。位元率增加器150係用以週期性地增加目前位元率,不受網路回饋參數之影響,且該週期係可調整。然而位元率增加器150仍會參考來自位元率記錄器160之位元率資訊(詳述於後)。位元率記錄器160係用以動態更新所有相關的位元率參數及狀態,例如目前位元率(current bit rate)、限制位元率(cordon bit rate)、成功增加限制位元率之次數以及超越限制位元率之次數等等。
目前位元率(current bit rate)係位元率控制裝置110綜合判斷所有參數後所產生或建議之位元率位準,即位元率控制裝置110所認為視訊會議得以順利運行之位元率位準,其數值係不斷地經計算而變動且傳送至視訊編碼器120,視訊編碼器120進而根據所接收之目前位元率進行編碼。限制位元率(cordon bit rate)則係位元率控制裝置100所設定可能產生視訊停頓、畫面馬賽克、網路封包遺失、視訊遲延、影音不同步或掉框之位元率位準。因此,目前位元率較佳地係限制於限制位元率以下,以避免上述問題發生。
當目前位元率經位元率增加器150逐漸增加而接近限制位元率時,必須根據一判斷機制(詳後述之步驟S212~步驟S217)調整目前位元率與限制位元率;若通過判斷機制,則上調限制位元率,從而提高目前位元率上調之空間,進而提昇視訊會議之品質,此時代表一次成功增加限制位元率之次數。超越限制位元率之次數係指目前位元率超越限制位元率之次數,該次數以及成功增加限制位元率之次數將會應用於上述之判斷機制中。
位元率記錄器160係持續更新目前位元率,並將更新後之目前位元率傳送至位元率行為儲存器180以進行儲存。又,位元率記錄器160所記錄的位元率資訊係供位元率降低器140及位元率增加器150參考。
於一具體實施例中,位元率控制裝置110係選擇性地包括一位元率執行器170,位元率執行器170係接收位元率記錄器160位元率之相關資訊,並依據所接收的位元率資訊(例如目前位元率等)以及至少一位元率限制因素,決定一輸出位元率(output bit rate)至視訊編碼器120。換句話說,若具有位元率執行器170,則視訊編碼器120係依據位元率執行器170所產生之輸出位元率進行編碼;若不具有位元率執行器170,則視訊編碼器120係依據位元率記錄器160所產生之目前位元率進行編碼。
所謂至少一位元率限制因素,可包括物理限制因素,例如網路頻寬;規則限制因素,例如H.264標準之位元率限制;人為限制因素,例如電信業者所設定之網路環境限制。舉例來說,若目前位元率為6M bytes/sec,然而當下之網路之最大頻寬僅能提供4M bytes/sec,視訊編碼器120若仍依照目前位元率以進行編碼,則於視訊傳輸時必定會產生視訊停頓、畫面馬賽克、網路封包遺失、視訊遲延或掉框之現象,為避免此種情形發生,位元率執行器170適時地限制目前位元率以適應網路之最大頻寬,而將目前位元率從6M byte/s下調至4M bytes/sec以下而成為輸出位元率,並將此輸出位元率傳送至視訊編碼器120。
延伸上述說明,於一具體實施例中,位元率執行器170係具有一最大位元率及一最小位元率,以限制目前位元率位於最大位元率及最小位元率之間。最大位元率及一最小位元率係根據上述至少一位元率限制因素而決定。因此,當目前位元率大於最大位元率或小於最小位元率,則位元率執行器170會將目前位元率限制在最大位元率與最小位元率之間。
於一實施例中,位元率控制裝置110更選擇性地包括一位元率行為儲存器180,位元率行為儲存器180係用以儲存目前位元率及限制位元率,且該些訊息並不會因位元率控制裝置110關機而消失(非揮發性)。位元率行為儲存器180係保存視訊會議時的使用經驗(usage experience)以增進位元率之適應情況。舉例來說,位元率行為儲存器180係記錄使用者A及B於5月1日視訊會議時的目前位元率。當使用者A及B於6月1日再次進行視訊會議時,位元率執行器170係直接從位元率行為儲存器180所儲存5月1日舉行之視訊會議之目前位元率設定為目前位元率或輸出位元率,視訊編碼器120即直接依據此目前位元率或輸出位元率以進行編碼,如此以迅速地完成視訊會議之參數初始設定。
詳細而言,位元率降低器140係接收來自接收端130所傳送之網路回饋參數,如上述之封包掉落率(packet loss rate)及往返延遲時間(round-trip time),並接收來自用於視訊編碼器120之一緩衝器的緩衝器狀態(buffer status),例如暫存器位階(buffer level)信號或圖像遺失(frame drop)計數信號,其中上述封包掉落率、往返延遲時間、暫存器位階信號及圖像遺失計數信號係可定義為事件參數。於一具體實施例中,位元率降低器140判斷上述四種事件(參數)是否發生,例如(a)封包掉落率是否大於一封包掉落率臨界值(packet loss threshold);(b)往返延遲時間是否大於一往返延遲時間臨界值(round-trip time threshold);(c)暫存器位階信號是否大於一暫存器高位階臨界值(buffer level high threshold)(d)圖像遺失計數信號是否大於一圖像遺失計數臨界值(drop frame count threshold),當上述4種事件之任一者發生時代表網路狀況不佳,位元率降低器140便將目前位元率之數值定義為限制位元率,用以標示此位元率位準發生事件參數。此外,位元率降低器140亦同時降低目前位元率,以降低事件參數發生之機率而避免發生視訊停頓、畫面馬賽克、網路封包遺失、視訊遲延、影音不同步或掉框(frame dropping)等問題。降低目前位元率之方式,例如將目前位元率乘以一降幅倍率(例如目前位元率*85%)、將目前位元率減去一定數值或比例、將目前位元率以指數方法降低、或其他數學方式等,但不限於此。最後,位元率記錄器160更新此次調降的目前位元率與限制位元率,並傳送於位元率行為儲存器180儲存。
位元率增加器150係參考來自位元率記錄器160之相關位元率參考資訊,例如目前位元率、限制位元率、成功增加限制位元率之次數及以超過限制位元率的次數等等。位元率增加器150係週期性地增加目前位元率,並判斷增加後的目前位元率是否大於限制位元率。上述週期性地增加目前位元率,例如可以將目前位元率乘以一增幅比例(例如將目前位元率*(1+10%))(增幅為10%)、將目前位元率增加一定數值或比例、將目前位元率以指數方法增加、或其他數學方法等,但不限於此。當判斷增加後的目前位元率首次超過限制位元率時,首先降低目前位元率,並增加超越限制位元率之次數;降低目前位元率之方法例如將增加後的目前位元率回復至在尚未增加前之位準,但不限於此。此外,若超越限制位元率之次數超過一預定次數(例如3次)時,則位元率增加器150將增加限制位元率,同時保持增加後之目前位元率位準,換句話說,此時同時提高限制位元率及目前位元率。同樣地,增加限制位元率可以將限制位元率乘以一增幅比例(例如將限制位元率*(1+10%))(增幅為10%)、將限制位元率增加一定數值或比例、將限制位元率以指數方法增加、或其他數學方法等,但不限於此。
請同時參考第第2A、2B圖及第3圖,第2A、2B圖係依據本發明一實施例之位元率控制方法的流程圖。第3圖係依據本發明一實施例之位元率控制方法之示意圖,其中垂直方向係表示位元率(bit rate),水平方向係表示時間(t),粗虛線部分係為限制位元率,實線部分係表示目前位元率,細虛線部分係表示判斷機制對目前位元率所造成的影響。
在步驟S201,位元率記錄器160係不斷地取得由位元率執行器170所產生之輸出位元率及限制位元率以提供給位元率降低器140以及位元率增加器150,並將當前時間設定為開始時間。需說明的是,於非第一次使用之初始(開機)狀態下,若位元率行為儲存器180已儲存前一次視訊會議之目前位元率及限制位元率,則位元率記錄器160係直接由位元率行為儲存器180取得前一次視訊會議之目前位元率及限制位元率作為目前位元率及限制位元率。此外,若位元率控制裝置110係第一次使用之初始(開機)狀態下,由於並無前一次視訊會議之目前位元率及限制位元率,亦無位元率執行器170所產生之輸出位元率及限制位元率,因此可預先設定一組目前位元率及限制位元率,例如預設之目前位元率為500Kbytes/s(P0),限制位元率為3Mbytes/s(C0)。
在步驟S203,位元率降低器140判斷與上述事件參數數(a)~(d)相關之任一事件旗標是否發生,若是,表示網路狀況不佳,則執行步驟S204,若否,則執行步驟S207以週期性地增加目前位元率。
詳細而言,若係從步驟S203之否定而進入步驟S207中,因無任何事件參數之事件旗標發生,代表當前之目前位元率下運行之視訊會議順暢,亦即當前之網路狀況良好,因此位元率控制系統110可適時地增加目前位元率以提高視訊會議之品質。首先,位元率增加器150係判斷目前位元率是否大於一預定位元率,若是,則執行步驟S208,若否,則執行步驟S209。在步驟S208,位元率記錄器160係嘗試增加目前位元率之週期設定為一長週期。在步驟S209,位元率記錄器160係將嘗試增加目前位元率之週期設定為一短週期。
步驟S207~步驟S209之目的係在於:當目前位元率已達一定程度以上,則縱使增加目前位元率而進行編碼,其畫面與未增加前之畫面相較,對人眼而言並無法察覺顯著差異,因此當目前位元率到達一定程度以上,增幅之週期可以減緩,亦即經過相對較長的時間始進行一次增幅,故將目前位元率之週期設定為一長週期(步驟S208);相反地,當目前位元率處於一定程度以下,例如開機後預設目前位元率為500Kbytes/s,此時縱使增加些微的目前位元率而進行編碼,其畫面對於人眼而言具有顯著的提昇,因此增幅之週期可以加快,即經過相對較短的時間即進行一次增幅,故將目前位元率之週期設定為一短週期(步驟S209)。
需說明的是,步驟S207~步驟S209係選擇性之步驟,亦即本實施例中,亦可無須分別設定長週期或短週期,而僅設定單一週期即可,例如於步驟S203之結果為否定,則直接進入步驟S210。
在步驟S210,位元率增加器150係判斷經過時間是否超過設定之週期,若是,則執行步驟S211進行增幅之步驟,若否,則無任何動作而進入步驟S218判斷目前位元率是否介於最大位元率與最小位元率而進行調整而成為輸出位元率,最後,進入步驟S219,由位元率執行器170將輸出位元率傳送至視訊編碼器120。
在步驟S211,經過時間超過設定之週期,則進入增幅步驟。於一具體實施例中,位元率增加器150係將目前位元率乘以一增幅比例(ratio of increment),增幅例如為10%,以提高目前位元率,而後進入步驟S212判斷增幅後之目前位元率是否大於限制位元率。
延續上述例子,當下之目前位元率500Kbytes/s,限制位元率3Mbytes/s,經步驟S211增幅後之目前位元率為500Kbytes/s*(1+10%)=550Kbytes/s(P1),其位準仍遠小於限制位元率3Mbytes/s,因此於步驟S212中判斷為否定而進入步驟S218,此時若增幅後之目前位元率550kbytes/s仍介於最大位元率與最小位元率之間,則不進行任何變動而成為輸出位元率,最後由視訊編碼器120根據550Kbytes/s之位準進行編碼,從而實現增加位元率之功能(從時間點t1之500Kbytes/s增加至時間點t2之550Kbytes/s)。
上述步驟將反覆執行從而持續增加目前位元率,直至事件參數發生(步驟S204)或目前位元率大於限制位元率(步驟S212)。
假設上述步驟反覆執行而持續地週期性增加目前位元率,至時間點t2增加至2.1Mbytes/s(P2)時,發生事件參數之事件旗標其中之一,代表網路狀況出現瓶頸,無法負荷當下目前位元率之位準2.1Mbytes/s,很有可能發生視訊停頓、畫面馬賽克、網路封包遺失或視訊遲延、影音不同步或掉框之問題。為避免上述問題,進入步驟S204,首先位元率降低器140係將限制位元率設定或定義為發生事件參數時之目前位元率位準,例如目前位元率此時為2.1Mbytes/s,則將限制位元率從3Mbytes/s(C0)之位準設定為2.1Mbytes/s(C1),同時降低目前位元率。於一具體實施例中,降低目前位元率之方式係將目前位元率乘以一降幅比例(ratio of decrement),例如85%而成為:2.1M*85%=1.785Mbytes/s(P3),如此以避免上述問題產生。上述重新設定或定義限制位元率之目的在於標記處於此位元率位準2.1Mbytes/s下而進行視訊會議時可能發生視訊停頓、畫面馬賽克、網路封包遺失、視訊遲延等問題;降低目前位元率之目的在於由於此時之位準即將發生上述問題或已發生,因此降低目前位元率以避免上述問題之發生或持續發生。
接著,在步驟S205,位元率記錄器160係調整超過限制位元率之次數及成功增加限制位元率之次數。於一具體實施例中,調整超過限制位元率之次數及成功增加限制位元率之次數係將超過限制位元率之次數及成功增加限制位元率之次數歸零。超過限制位元率之次數及成功增加限制位元率之次數係用以於網路狀況變佳時,判斷是否更新限制位元率及更新幅度以提高視訊品質(詳後述)。接著,在步驟S206,位元率記錄器160係更新目前位元率1.785Mbytes/s、限制位元率2.1Mbytes/s、超過限制位元率之次數0及成功增加限制位元率之次數0,並儲存於位元率行為儲存器180中,而後亦進入步驟S207。
詳細而言,若係從步驟S206進行至步驟S211,延續所舉例子,限制位元率於步驟S204已被設定為2.1Mbytes/s,且目前位元率經降幅後而為1.785Mbytes/s(P3),則於步驟S211中,目前位元率再次經增幅後成為:1.785 Mbytes/s*1.1=1.9635 Mbytes/s(P4)。接著進入步驟S212,判斷增幅後之目前位元率是否大於限制位元率,此時增幅後之目前位元率為1.9635 Mbytes/s,仍小於限制位元率2.1Mbytes/s,因此直接進入步驟S218。若目前位元率1.9635 M bytes/s介於最大位元率與最小位元率之間,則不進行任何變動而成為輸出位元率,最後由視訊編碼器120根據1.9635 Mbytes/s之位準進行編碼。
至此,目前位元率從時間點t2之位準2.1Mbytes/s(P2),而後演變成1.785Mbytes/s(F3),最後降成時間點t4之位準1.9635Mbytes/s,實現降低目前位元率,並使之位於限制位元率2.1Mbytes/s以下而避免產生視訊停頓、畫面馬賽克、網路封包遺失、視訊遲延或影音不同步之問題。
接著於下一回之步驟S211中,目前位元率再次經增幅後成為:1.9635 Mbytes/s*1.1=2.15985 Mbytes/s(P5)。於步驟S212中判斷增幅後之目前位元率2.15985 Mbytes/s大於限制位元率2.1Mbytes/s,因此進入步驟S213以下之判斷機制。
由於限制位元率係位元率控制裝置100所設定可能產生視訊停頓、畫面馬賽克、網路封包遺失、視訊遲延或影音不同步之位元率位準,延續上述例子,於位準2.1Mbytes/s時會有很大機率將發生事件參數。為避免再次發生上述問題,步驟S213以下之判斷機制即用以確保增加目前位元率的同時不會產生上述問題。
首先,於步驟S213中,位元率記錄器160係增加超過限制位元率之次數,於一具體實施例中,位元率記錄器160係將超過限制位元率之次數加1。接著在步驟S214,位元率記錄器160更判斷超過限制位元率之次數是否大於一超過限制位元率次數臨界值(over cordon bit rate times threshold),若是,則執行步驟S216,若否,則執行步驟S215。在步驟S215,代表超過限制位元率之次數小於超過限制位元率次數臨界值,位元率執行器170降低目前位元率。於一具體實施例中,位元率執行器170降低目前位元率係將目前位元率2.15985 Mbytes/s除以上述增幅比例,亦即返回未增幅前之目前位元率1.9635 Mbytes/s(P6)。換句話說,若判斷增幅後之目前位元率將大於限制位元率,且超過限制位元率之次數小於超過限制位元率次數臨界值,則取消該次之增幅步驟,從而使目前位元率保持於限制位元率以下,但降低方法不限於此。
詳細而言,步驟S214之目的在於確保網路狀況變佳,從而在增加目前位元率的同時避免視訊停頓、畫面馬賽克、網路封包遺失、視訊遲延情形產生,因此設定需超過限制位元率之一定次數始係判斷認為當前網路狀況變佳(例如3次)。若欲符合上述條件,位元率控制系統110須於連續三次的增幅步驟所涵蓋的時間範圍皆無任何事件參數發生,藉以判斷當前之網路狀況良好且會持續,故可嘗試增加限制位元率,從而提高目前位元率。
延續上述例子,當首次進入步驟S213時,將超過限制位元率之次數增加為1,代表該次增幅步驟所涵蓋的時間範圍並無任何事件參數發生(無任何事件參數發生始有可能進入步驟S213),然由於此時所涵蓋的時間範圍過短(時間點t4~時間點t5),位元率控制系統110無法判斷網路狀況變好的情形是否能持續,網路狀況有可能隨時變差,若貿然上調目前位元率,則將導致視訊停頓、畫面馬賽克、網路封包遺失、視訊遲延、影音不同步或掉框之問題。為避免上述問題發生,位元率控制系統110將增幅後之目前位元率2.15985 Mbytes/s(步驟S211、P5)下調為增幅前之目前位元率(步驟S215、P6): 2.15985Mbytes/s/1.1=1.9635Mbytes/s,即回復增幅前之目前位元率;之後,若超過限制位元率之次數增加為2,代表連續二次的增幅步驟所涵蓋的時間範圍皆無任何事件參數發生(時間點t4~時間點t7),其中經歷步驟S211的同時將目前位元率再次提高為1.9635Mbytes/s*1.1=2.15985Mbytes/s(P7)。同上述原因,位元率控制系統110仍將增幅後之目前位元率下調為增幅前之目前位元率(步驟S215、P8):2.15985Mbytes/s/1.1=1.9635Mbytes/s,以避免上述問題發生;之後,若超過限制位元率之次數為3,代表連續三次的增幅步驟所涵蓋的時間範圍皆無任何事件參數發生(時間點t4~時間點t9),其中經歷步驟S211的同時再次將目前位元率提高為1.9635Mbytes/s*1.1=2.15985MMbytes/s(P9)。同上述原因,位元率控制系統110仍將增幅後之目前位元率下調為增幅前之目前位元率(步驟S215、P10):2.15985Mbytes/s/1.1=1.9635Mbytes/s,以避免上述問題發生;最後,若超過限制位元率之次數為4而超過限制位元率次數臨界值3,代表連續4次增幅步驟所涵蓋的時間範圍皆無任何事件參數發生(時間點t4~時間點t11),位元率控制系統110此時足以判斷網路狀況變好之情形應會持續下去,故而增加限制位元率(步驟S217)以及保持增幅後之目前位元率2.15985Mbytes/s(不執行步驟S215、P11),從而確保增加目前位元率的同時降低上述問題發生之機率。於此同時,一併將超過限制位元率之次數歸零(步驟S216),用以下一次之判斷機制中重新計數,且將成功增加限制位元率之次數加1。
在步驟S217中,位元率執行器170係將限制位元率依據一第一函式進行更新,第一函式係可表示為:
cordon_bit_rate=cordon_bit_rate*(1+R_a*times_to_success_increase)
其中cordon_bit_rate係表示限制位元率;R_a係表示一增幅比例;times_to_success_increase係表示成功增加限制位元率之次數。
延續上述例子,假設R_a之增幅比例為10%,且由於此時係第一次成成功增加限制位元率,因此times_to_success_increase為1;則限制位元率從位準C1上調為:2.1Mbytes/s*(1+10%*1)=2.1*1.1=2.31Mbytes/s(C2),其增幅為10%。
於一具體實施例中,增加限制位元率不限於上述函式,亦可以將將限制位元率增加一定數值或比例、將限制位元率以指數方法增加、或其他數學方法等,但不限於此。此外,步驟S216中將超過限制位元率之次數歸零之步驟可移至步驟S217中執行。
至此,限制位元率從時間點t2之位準2.1Mbytes/s(C1)至時間點t11之位準2.31Mbytes/s(C2)而達成上調之目的;目前位元率從時間點t4之位準1.9635 Mbytes/s(P4)至時間點t11之位準2.15985Mbytes/s(P11)而達成上調之目的,且仍使上調後之目前位元率小於上調後之限制位元率,從而確保上調目前位元率的同時降低發生問題之機率。
相同概念下,當再次進入步驟S217,則times_to_success_increase為2,代表前次上調限制位元率至此次上調限制位元率所涵蓋之時間範圍皆無任何事件參數發生,說明當前的網路狀況良好,因此增加上調限制位元率之幅度:(10%*2)。延續上述例子,此次上調限制位元率成為:2.31 Mbytes/s*(1+10%*2)=2.31 Mbytes/s*1.2=2.772 Mbytes/s,從而擴大目前位元率上調之空間以快速提供更佳的視訊會議品質。
若前次上調限制位元率至此次上調限制位元率之期間發生事件參數,代表網路環境於此位準下為不穩定狀態,故於步驟S205中會將成功增加限制位元率之次數歸零,從而若再次進入步驟S216,成功增加限制位元率之次數增加為1,換句話說,維持限制位元率上調之幅度(仍為10%)以避免使目前位元率超過網路環境之負荷。
接著,進行步驟S218,位元率執行器170係將目前位元率及限制位元率限制於最大位元率及最小位元率之間。舉例來說,若目前位元率2.15985Mbytes/s及限制位元率2.31Mbytes/s大於最大位元率,則位元率執行器170將下調目前位元率及限制位元率使其位於最大位元率及最小位元率之間;相同地,若目前位元率及限制位元率小於最小位元率,則位元率執行器170將上調目前位元率及限制位元率使其位於最大位元率及最小位元率之間。此外,若目前位元率及限制位元率位於最大位元率與最小位元率之間,則保持不變。
最後,執行步驟S219,上述於步驟S218調整後之目前位元率定義為輸出位元率,位元率執行器170係輸出此限制位元率與限制位元率,並分別傳送至視訊編碼器120及位元率記錄器160。
於一具體實施例中,上述中每一模組皆可用以一獨立處理器(Processor)完成其功能,亦可利用單一處理器完成所有模組之功能;此外,處理器(Processor)亦可包含一程序(Program),該程序可被處理器所讀取並根據程序內之指令執行以完成上述功能。
於一具體實施例中,增幅比例與降幅比例互相獨立,其可視實際需求或經驗法則而分別設定一數值。
綜上所述,本發明所採用增加位元率之方式係利用各種客觀判斷方式來測試編碼傳輸之穩定度,當網路頻寬充足且沒有發生任何事件參數時,位元率增加器150才會增加目前位元率,進而達成於增加位元率同時,確保不會超過當前網路所能負擔之情形,如此反覆,藉以在網路頻寬可容許之情況下達到最高的視訊流位元率。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用以輔助專利文件搜尋之用,並非用以限制本發明之權利範圍。
100...位元率控制系統
110...位元率控制裝置
120...視訊編碼器
130...接收端
140...位元率降低器
P0-P11...目前位元率位準
150...位元率增加器
160...位元率記錄器
170...位元率執行器
180...位元率行為儲存器
C0-C2...限制位元率位準
t0-t11...時間點
第1圖係顯示依據本發明一實施例之用於視訊編碼之位元率控制系統之方塊圖。
第2A及2B圖係顯示依據本發明一實施例之位元率控制方法的流程圖。
第3圖係顯示依據本發明一實施例之位元率控制方法之示意圖。
100...位元率控制系統
110...位元率控制裝置
120...視訊編碼器
130...接收端
140...位元率降低器
150...位元率增加器
160...位元率記錄器
170...位元率執行器
180...位元率行為儲存器
权利要求:
Claims (20)
[1] 一種位元率控制裝置,用於一視訊會議系統,包括:一位元率記錄器,用以更新一目前位元率;一位元率降低器,用以接收至少一事件參數及該目前位元率,並判斷與該至少一事件參數相關之一事件旗標是否發生;以及一位元率增加器,用以週期性地增加該目前位元率;其中,當該事件旗標發生時,該位元率降低器降低該目前位元率。
[2] 如申請專利範圍第1項所述之位元率控制裝置,其中該位元率記錄器更用以更新一限制位元率、一成功增加限制位元率次數、及一超過限制位元率次數。
[3] 如申請專利範圍第2項所述之位元率控制裝置,其中該至少一事件參數係包括一封包掉落率(packet loss rate)、一往返延遲時間(round-trip time)、一暫存器位階信號(buffer level signal)及一圖像遺失計數信號(frame drop count signal)。
[4] 如申請專利範圍第3項所述之位元率控制裝置,其中該位元率降低器更判斷該封包掉落率是否大於一封包掉落率臨界值(packet loss threshold)、判斷該往返延遲時間是否大於一往返延遲時間臨界值(round-trip time threshold)、判斷該暫存器位階信號是否大於一暫存器高位階臨界值(buffer level high threshold)、或判斷該圖像遺失計數信號是否大於一圖像遺失計數臨界值(drop frame count threshold),若是,判斷該事件旗標發生。
[5] 如申請專利範圍第2項所述之位元率控制裝置,其中當該事件旗標發生,該位元率降低器係將該限制位元率設定為該目前位元率,而後降低該目前位元率。
[6] 如申請專利範圍第5項所述之位元率控制裝置,其中當該位元率增加器週期性地增加該目前位元率,使該目前位元率大於該限制位元率,該位元率記錄器係增加該超過限制位元率次數。
[7] 如申請專利範圍第6項所述之位元率控制裝置,其中該位元率記錄器更判斷該超過限制位元率次數是否大於一臨界值,若是,該位元率記錄器係增加該成功增加限制位元率次數,並增加該限制位元率,若否,該位元率執行器係降低該目前位元率。
[8] 如申請專利範圍第7項所述之位元率控制裝置,其中增加該限制位元率係與該成功增加限制位元率次數相關。
[9] 如申請專利範圍第1項所述之位元率控制裝置,更包括:一位元率行為儲存器,用以儲存該目前位元率;其中,當該位元率控制裝置開機時,該位元率記錄器將該目前位元率設定為該儲存之目前位元率。
[10] 如申請專利範圍第9項所述之位元率控制裝置,更包括一位元率限制器,用以限制該目前位元率於一最大位元率與一最小位元率之間。
[11] 一種位元率控制方法,用於一視訊會議系統中之一位元率控制裝置,該位元率控制裝置具有一目前位元率、一限制位元率、一成功增加限制位元率次數以及一超過限制位元率次數,該位元率控制裝置係執行下列步驟:接收至少一事件參數,並判斷與該至少一事件參數相關之一事件旗標是否發生;以及週期性地增加該目前位元率;其中,當該事件旗標發生時,降低該目前位元率。
[12] 如申請專利範圍第11項所述之位元率控制方法,其中該至少一事件參數係包括一封包掉落率(packet loss rate)、一往返延遲時間(round-trip time)、一暫存器位階信號(buffer level signal)及一圖像遺失計數信號(frame drop count signal)。
[13] 如申請專利範圍第12項所述之位元率控制方法,其中,若下列步驟其中之一為肯定,判斷該事件旗標發生:判斷該封包掉落率是否大於一封包掉落率臨界值;判斷該往返延遲時間是否大於一往返延遲時間臨界值;判斷該暫存器位階信號是否大於一暫存器高位階臨界值;以及判斷該圖像遺失計數信號是否大於一圖像遺失計數臨界值(drop frame count threshold)。
[14] 如申請專利範圍第11項所述之位元率控制方法,其中降低該目前位元率之步驟更包括:將該限制位元率設定為該目前位元率;以及降低該目前位元率。
[15] 如申請專利範圍第14項所述之位元率控制方法,其中上述降低該目前位元率之步驟更包括:調整該成功增加該限制位元率次數以及該超過限制位元率次數。
[16] 如申請專利範圍第15項所述之位元率控制方法,其中上述週期性地增加該目前位元率之步驟更包括:當該目前位元率大於該限制位元率,增加該超過限制位元率次數。
[17] 如申請專利範圍第16項所述之位元率控制方法,其中上述增加該超過限制位元率次數之步驟更包括:判斷該超過限制位元率次數是否大於一臨界值;若是,增加該成功增加限制位元率次數,並增加該限制位元率;以及若否,降低該目前位元率。
[18] 如申請專利範圍第17項所述之位元率控制方法,其中增加該限制位元率之步驟係與該成功增加限制位元率次數相關。
[19] 如申請專利範圍第11項所述之位元率控制方法,更包括:儲存該目前位元率;其中,當該位元率控制裝置開機時,該位元率控制裝置將該目前位元率設定為該儲存之目前位元率。
[20] 如申請專利範圍第19項所述之位元率控制方法,更包括:限制該目前位元率於一最大位元率與一最小位元率之間。
类似技术:
公开号 | 公开日 | 专利标题
US8279884B1|2012-10-02|Integrated adaptive jitter buffer
JP4076981B2|2008-04-16|通信端末装置およびバッファ制御方法
US7711841B2|2010-05-04|Systems and methods for reducing the effects of variations on the playback of streaming media
EP2936770B1|2019-02-06|Apparatus and methods for controlling jitter buffer
US8732326B2|2014-05-20|Dynamic adjustments of video streams
JP4462996B2|2010-05-12|パケット受信方法及びパケット受信装置
CN105142002B|2018-06-22|音/视频直播方法、装置及控制方法、装置
TW200849842A|2008-12-16|Method of regulating the transmission jitter within a reception terminal
CN105119755B|2018-06-19|一种抖动缓冲区调整方法及装置
WO2017000719A1|2017-01-05|一种基于队列时延的拥塞控制方法及装置
US10135707B2|2018-11-20|Playout delay adjustment method and electronic apparatus thereof
US9319739B2|2016-04-19|Delivery system, delivery method, server device, program, and client device
JP4699947B2|2011-06-15|通信端末装置
JP2008005392A|2008-01-10|通信端末装置およびバッファ制御方法
TWI451722B|2014-09-01|位元率控制裝置及其方法
US20110299399A1|2011-12-08|Method and apparatus for congestion control
CN106851337B|2019-12-24|视频缓冲控制方法及装置
US9929823B2|2018-03-27|Data processing
JP6540189B2|2019-07-10|送信装置、送信方法、およびプログラム
US10602139B2|2020-03-24|Embedded multimedia systems with adaptive rate control for power efficient video streaming
JP2007312051A|2007-11-29|セットトップボックス
JP6711120B2|2020-06-17|映像再生装置、映像再生方法および映像再生プログラム
JP2017069849A|2017-04-06|映像制御装置、映像配信システムおよび映像制御方法
JP4597826B2|2010-12-15|通信装置、その通信方法、通信プログラム及び通信プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5218995B2|2013-06-26|動画再生端末,動画再生方法及びプログラム
同族专利:
公开号 | 公开日
CN103096023A|2013-05-08|
CN103096023B|2015-09-09|
US20130113874A1|2013-05-09|
US8791981B2|2014-07-29|
TWI451722B|2014-09-01|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JPH08163554A|1994-12-02|1996-06-21|Electron & Telecommun Res Inst|ビデオビット率制御方法|
US6850565B2|1998-12-18|2005-02-01|Intel Corporation|Real time bit rate control system|
KR100341063B1|2000-06-28|2002-06-20|송문섭|실시간 영상 통신을 위한 율제어 장치 및 그 방법|
US7046729B2|2002-08-27|2006-05-16|Ess Technology, Inc.|Bit rate control for motion compensated video compression system|
US7869503B2|2004-02-06|2011-01-11|Apple Inc.|Rate and quality controller for H.264/AVC video coder and scene analyzer therefor|
US7627033B2|2004-11-15|2009-12-01|Microsoft Corporation|Video rate control|
CN101047845A|2006-03-29|2007-10-03|腾讯科技(深圳)有限公司|一种调节视频通讯数据码率的装置和方法|
KR101442273B1|2007-05-17|2014-09-23|소니 주식회사|정보 처리 장치 및 방법|
CN100568949C|2007-06-19|2009-12-09|中兴通讯股份有限公司|会议电视升降速方法|
CN101222296B|2008-01-31|2010-06-09|上海交通大学|上行蜂窝视频通信中自适应的传输方法及系统|
JP5304213B2|2008-12-15|2013-10-02|沖電気工業株式会社|データ処理装置、プログラム及び方法、並びに、ネットワークシステム|
CN101888544B|2010-06-30|2012-05-30|杭州海康威视数字技术股份有限公司|一种低带宽的视频数据传输方法和硬盘录像机|
US8750373B2|2010-10-04|2014-06-10|Vidyo, Inc.|Delay aware rate control in the context of hierarchical P picture coding|
US8760490B2|2011-11-30|2014-06-24|Cisco Technology, Inc.|Techniques for a rate-adaptive video conference bridge|US10743210B2|2016-06-01|2020-08-11|Intel Corporation|Using uplink buffer status to improve video stream adaptation control|
US10686859B2|2017-12-28|2020-06-16|Intel Corporation|Content scenario and network condition based multimedia communication|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
TW100140477A|TWI451722B|2011-11-07|2011-11-07|位元率控制裝置及其方法|TW100140477A| TWI451722B|2011-11-07|2011-11-07|位元率控制裝置及其方法|
CN201110375115.5A| CN103096023B|2011-11-07|2011-11-23|位率控制装置及其方法|
US13/646,884| US8791981B2|2011-11-07|2012-10-08|Bit rate control apparatus and method thereof|
[返回顶部]